# -*- coding:utf-8 -*-

__author__ = 'chendaqing'

import random

def test_random():
	#用于生成一个随机浮点数：range[0.0,1.0)
	print random.random()

def test_uniform():
	#用于生成一个指定范围内的随机浮点数，a,b为上下限，只要a!=b,就会生成介于两者之间的一个浮点数，若a=b，则生成的浮点数就是a
	print random.uniform(10, 20)
	print int(random.uniform(20, 10))
	print int(random.uniform(15, 15))

def test_int():
	#random.randint(a,b)    用于生成一个指定范围内的整数，a为下限，b为上限，生成的随机整数a<=n<=b;若a=b，则n=a；若a>b，报错
	print random.randint(10, 19)
	print random.randint(11, 11)
	try:
		print random.randint(23, 11)
	except:
		print 'Error'

def test_randomrange():
	#random.randrange([start], stop [,step])    从指定范围内，按指定基数递增的集合中获取一个随机数，基数缺省值为1
	print random.randrange(10, 200)
	#print random.randrange(200, 10)
	print random.choice(range(10, 200))

def test_random_sample():
	#random.sample(sequence,k)    从指定序列中随机获取k个元素作为一个片段返回，sample函数不会修改原有序列
	a='123456789'
	b=[1,2,3,4,5,6,7,8,9]
	c=['a','b','c','d','e']
	print random.sample(a,3)
	print random.sample(b,3)
	print random.sample(c,3)  #随机取三个元素最为一个片段返回[6,4,3]


if __name__ == "__main__":
	test_random()
	test_uniform()
	test_int()
	test_randomrange()
	test_random_sample()